import api from './api.js';

/**
 * 评价相关API服务
 */
const reviewService = {
  /**
   * 创建评价
   * @param {Object} data - 评价数据
   * @returns {Promise}
   */
  async createReview(data) {
    console.log('📝 创建评价:', data);
    return await api.post('/reviews', data);
  },
  
  /**
   * 查询订单评价
   * @param {Number} orderId - 订单ID
   * @returns {Promise}
   */
  async getOrderReview(orderId) {
    console.log('🔍 查询订单评价:', orderId);
    return await api.get(`/reviews/order/${orderId}`);
  },
  
  /**
   * 获取我的评价列表
   * @param {Object} params - 查询参数 { page, size }
   * @returns {Promise}
   */
  async getMyReviews(params = {}) {
    console.log('📋 获取我的评价列表:', params);
    return await api.get('/reviews/my', params);
  },
  
  /**
   * 编辑评价
   * @param {Number} id - 评价ID
   * @param {Object} data - 评价数据
   * @returns {Promise}
   */
  async updateReview(id, data) {
    console.log('✏️ 编辑评价:', id, data);
    return await api.put(`/reviews/${id}`, data);
  },
  
  /**
   * 删除评价
   * @param {Number} id - 评价ID
   * @returns {Promise}
   */
  async deleteReview(id) {
    console.log('🗑️ 删除评价:', id);
    return await api.delete(`/reviews/${id}`);
  },
  
  /**
   * 获取商家评价列表
   * @param {Number} merchantId - 商家ID
   * @param {Object} params - 查询参数 { page, size, rating, hasImage, sortBy }
   * @returns {Promise}
   */
  async getMerchantReviews(merchantId, params = {}) {
    console.log('🏪 获取商家评价列表:', merchantId, params);
    return await api.get(`/reviews/merchant/${merchantId}`, params);
  },
  
  /**
   * 商家回复评价
   * @param {Number} id - 评价ID
   * @param {String} reply - 回复内容
   * @returns {Promise}
   */
  async replyReview(id, reply) {
    console.log('💬 商家回复评价:', id, reply);
    return await api.post(`/merchant/reviews/${id}/reply`, { reply });
  }
};

export default reviewService;

